home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / mv643xx_eth.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.7 KB  |  79 lines

  1. /*
  2.  * MV-643XX ethernet platform device data definition file.
  3.  */
  4.  
  5. #ifndef __LINUX_MV643XX_ETH_H
  6. #define __LINUX_MV643XX_ETH_H
  7.  
  8. #include <linux/mbus.h>
  9.  
  10. #define MV643XX_ETH_SHARED_NAME        "mv643xx_eth"
  11. #define MV643XX_ETH_NAME        "mv643xx_eth_port"
  12. #define MV643XX_ETH_SHARED_REGS        0x2000
  13. #define MV643XX_ETH_SHARED_REGS_SIZE    0x2000
  14. #define MV643XX_ETH_BAR_4        0x2220
  15. #define MV643XX_ETH_SIZE_REG_4        0x2224
  16. #define MV643XX_ETH_BASE_ADDR_ENABLE_REG    0x2290
  17.  
  18. struct mv643xx_eth_shared_platform_data {
  19.     struct mbus_dram_target_info    *dram;
  20.     struct platform_device    *shared_smi;
  21.     unsigned int        t_clk;
  22. };
  23.  
  24. #define MV643XX_ETH_PHY_ADDR_DEFAULT    0
  25. #define MV643XX_ETH_PHY_ADDR(x)        (0x80 | (x))
  26. #define MV643XX_ETH_PHY_NONE        0xff
  27.  
  28. struct mv643xx_eth_platform_data {
  29.     /*
  30.      * Pointer back to our parent instance, and our port number.
  31.      */
  32.     struct platform_device    *shared;
  33.     int            port_number;
  34.  
  35.     /*
  36.      * Whether a PHY is present, and if yes, at which address.
  37.      */
  38.     int            phy_addr;
  39.  
  40.     /*
  41.      * Use this MAC address if it is valid, overriding the
  42.      * address that is already in the hardware.
  43.      */
  44.     u8            mac_addr[6];
  45.  
  46.     /*
  47.      * If speed is 0, autonegotiation is enabled.
  48.      *   Valid values for speed: 0, SPEED_10, SPEED_100, SPEED_1000.
  49.      *   Valid values for duplex: DUPLEX_HALF, DUPLEX_FULL.
  50.      */
  51.     int            speed;
  52.     int            duplex;
  53.  
  54.     /*
  55.      * How many RX/TX queues to use.
  56.      */
  57.     int            rx_queue_count;
  58.     int            tx_queue_count;
  59.  
  60.     /*
  61.      * Override default RX/TX queue sizes if nonzero.
  62.      */
  63.     int            rx_queue_size;
  64.     int            tx_queue_size;
  65.  
  66.     /*
  67.      * Use on-chip SRAM for RX/TX descriptors if size is nonzero
  68.      * and sufficient to contain all descriptors for the requested
  69.      * ring sizes.
  70.      */
  71.     unsigned long        rx_sram_addr;
  72.     int            rx_sram_size;
  73.     unsigned long        tx_sram_addr;
  74.     int            tx_sram_size;
  75. };
  76.  
  77.  
  78. #endif
  79.